package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_top_list")
public class FTopList {
    @Id
    private Long tid;

    /**
     * 交易日期
     */
    @Column(name = "trade_date")
    private String tradeDate;

    /**
     * TS代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 名称
     */
    private String name;

    /**
     * 收盘价
     */
    private Float close;

    /**
     * 涨跌幅
     */
    @Column(name = "pct_change")
    private Float pctChange;

    /**
     * 换手率
     */
    @Column(name = "turnover_rate")
    private Float turnoverRate;

    /**
     * 总成交额
     */
    private Float amount;

    /**
     * 龙虎榜卖出额
     */
    @Column(name = "l_sell")
    private Float lSell;

    /**
     * 龙虎榜买入额
     */
    @Column(name = "l_buy")
    private Float lBuy;

    /**
     * 龙虎榜成交额
     */
    @Column(name = "l_amount")
    private Float lAmount;

    /**
     * 龙虎榜净买入额
     */
    @Column(name = "net_amount")
    private Float netAmount;

    /**
     * 龙虎榜净买额占比
     */
    @Column(name = "net_rate")
    private Float netRate;

    /**
     * 龙虎榜成交额占比
     */
    @Column(name = "amount_rate")
    private Float amountRate;

    /**
     * 当日流通市值
     */
    @Column(name = "float_values")
    private Float floatValues;

    /**
     * 上榜理由
     */
    private String reason;

    public FTopList(Long tid, String tradeDate, String tsCode, String name, Float close, Float pctChange, Float turnoverRate, Float amount, Float lSell, Float lBuy, Float lAmount, Float netAmount, Float netRate, Float amountRate, Float floatValues, String reason) {
        this.tid = tid;
        this.tradeDate = tradeDate;
        this.tsCode = tsCode;
        this.name = name;
        this.close = close;
        this.pctChange = pctChange;
        this.turnoverRate = turnoverRate;
        this.amount = amount;
        this.lSell = lSell;
        this.lBuy = lBuy;
        this.lAmount = lAmount;
        this.netAmount = netAmount;
        this.netRate = netRate;
        this.amountRate = amountRate;
        this.floatValues = floatValues;
        this.reason = reason;
    }

    public FTopList() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取交易日期
     *
     * @return trade_date - 交易日期
     */
    public String getTradeDate() {
        return tradeDate;
    }

    /**
     * 设置交易日期
     *
     * @param tradeDate 交易日期
     */
    public void setTradeDate(String tradeDate) {
        this.tradeDate = tradeDate;
    }

    /**
     * 获取TS代码
     *
     * @return ts_code - TS代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS代码
     *
     * @param tsCode TS代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取名称
     *
     * @return name - 名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置名称
     *
     * @param name 名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取收盘价
     *
     * @return close - 收盘价
     */
    public Float getClose() {
        return close;
    }

    /**
     * 设置收盘价
     *
     * @param close 收盘价
     */
    public void setClose(Float close) {
        this.close = close;
    }

    /**
     * 获取涨跌幅
     *
     * @return pct_change - 涨跌幅
     */
    public Float getPctChange() {
        return pctChange;
    }

    /**
     * 设置涨跌幅
     *
     * @param pctChange 涨跌幅
     */
    public void setPctChange(Float pctChange) {
        this.pctChange = pctChange;
    }

    /**
     * 获取换手率
     *
     * @return turnover_rate - 换手率
     */
    public Float getTurnoverRate() {
        return turnoverRate;
    }

    /**
     * 设置换手率
     *
     * @param turnoverRate 换手率
     */
    public void setTurnoverRate(Float turnoverRate) {
        this.turnoverRate = turnoverRate;
    }

    /**
     * 获取总成交额
     *
     * @return amount - 总成交额
     */
    public Float getAmount() {
        return amount;
    }

    /**
     * 设置总成交额
     *
     * @param amount 总成交额
     */
    public void setAmount(Float amount) {
        this.amount = amount;
    }

    /**
     * 获取龙虎榜卖出额
     *
     * @return l_sell - 龙虎榜卖出额
     */
    public Float getlSell() {
        return lSell;
    }

    /**
     * 设置龙虎榜卖出额
     *
     * @param lSell 龙虎榜卖出额
     */
    public void setlSell(Float lSell) {
        this.lSell = lSell;
    }

    /**
     * 获取龙虎榜买入额
     *
     * @return l_buy - 龙虎榜买入额
     */
    public Float getlBuy() {
        return lBuy;
    }

    /**
     * 设置龙虎榜买入额
     *
     * @param lBuy 龙虎榜买入额
     */
    public void setlBuy(Float lBuy) {
        this.lBuy = lBuy;
    }

    /**
     * 获取龙虎榜成交额
     *
     * @return l_amount - 龙虎榜成交额
     */
    public Float getlAmount() {
        return lAmount;
    }

    /**
     * 设置龙虎榜成交额
     *
     * @param lAmount 龙虎榜成交额
     */
    public void setlAmount(Float lAmount) {
        this.lAmount = lAmount;
    }

    /**
     * 获取龙虎榜净买入额
     *
     * @return net_amount - 龙虎榜净买入额
     */
    public Float getNetAmount() {
        return netAmount;
    }

    /**
     * 设置龙虎榜净买入额
     *
     * @param netAmount 龙虎榜净买入额
     */
    public void setNetAmount(Float netAmount) {
        this.netAmount = netAmount;
    }

    /**
     * 获取龙虎榜净买额占比
     *
     * @return net_rate - 龙虎榜净买额占比
     */
    public Float getNetRate() {
        return netRate;
    }

    /**
     * 设置龙虎榜净买额占比
     *
     * @param netRate 龙虎榜净买额占比
     */
    public void setNetRate(Float netRate) {
        this.netRate = netRate;
    }

    /**
     * 获取龙虎榜成交额占比
     *
     * @return amount_rate - 龙虎榜成交额占比
     */
    public Float getAmountRate() {
        return amountRate;
    }

    /**
     * 设置龙虎榜成交额占比
     *
     * @param amountRate 龙虎榜成交额占比
     */
    public void setAmountRate(Float amountRate) {
        this.amountRate = amountRate;
    }

    /**
     * 获取当日流通市值
     *
     * @return float_values - 当日流通市值
     */
    public Float getFloatValues() {
        return floatValues;
    }

    /**
     * 设置当日流通市值
     *
     * @param floatValues 当日流通市值
     */
    public void setFloatValues(Float floatValues) {
        this.floatValues = floatValues;
    }

    /**
     * 获取上榜理由
     *
     * @return reason - 上榜理由
     */
    public String getReason() {
        return reason;
    }

    /**
     * 设置上榜理由
     *
     * @param reason 上榜理由
     */
    public void setReason(String reason) {
        this.reason = reason;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tradeDate=").append(tradeDate);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", name=").append(name);
        sb.append(", close=").append(close);
        sb.append(", pctChange=").append(pctChange);
        sb.append(", turnoverRate=").append(turnoverRate);
        sb.append(", amount=").append(amount);
        sb.append(", lSell=").append(lSell);
        sb.append(", lBuy=").append(lBuy);
        sb.append(", lAmount=").append(lAmount);
        sb.append(", netAmount=").append(netAmount);
        sb.append(", netRate=").append(netRate);
        sb.append(", amountRate=").append(amountRate);
        sb.append(", floatValues=").append(floatValues);
        sb.append(", reason=").append(reason);
        sb.append("]");
        return sb.toString();
    }
}